﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SmartMathLibrary
{
    /// <summary>
    /// This class represents an abstract layer for splineparts or splinecomponents.
    /// </summary>
    [Serializable]
    public abstract class AbstractSplineComponent
    {
        /// <summary>
        /// The startpoint of the domain for this splinepart.
        /// </summary>
        protected Point2D start;

        /// <summary>
        /// The endpoint of the domain for this splinepart.
        /// </summary>
        protected Point2D end;

        /// <summary>
        /// Gets or sets the start point of the splinepart.
        /// </summary>
        /// <value>The startpoint of the splinepart.</value>
        public Point2D Start
        {
            get { return start; }
            set { start = value; }
        }

        /// <summary>
        /// Gets or sets the endpoint of the splinepart.
        /// </summary>
        /// <value>The endpoint of the splinepart.</value>
        public Point2D End
        {
            get { return end; }
            set { end = value; }
        }
    }
}